ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース7.0
E05176-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ALTER REPLICATION

ALTER REPLICATION文では、レプリケーション要素の追加、変更、削除を行い、関連するデータ・ストアのレプリケーション属性を変更します。

ほとんどのALTER REPLICATIONの処理は、レプリケーション・エージェントが停止している場合(ttAdmin -repStop)にのみサポートされます。ただし、レプリケーション・エージェントの実行中にサブスクライバ・データ・ストアをレプリケーション・スキームに追加することは可能です。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケーションの変更に関する項を参照してください。

アクセス制御

TimesTenインスタンスでアクセス制御が有効な場合、この文にはADMIN権限が必要です。

SQL構文

ALTER REPLICATION文の構文は、次のとおりです。

ALTER REPLICATION [Owner.]ReplicationSchemeName

     ElementOperation [...] | StoreOperation

1つ以上のElementOperationsを指定できます。

    ADD ELEMENT ElementName

    {DATASTORE | {TABLE [Owner.]TableName [CheckConflicts]} |
                 SEQUENCE [Owner.]SequenceName}

             { MASTER | PROPAGATOR } FullStoreName

             { SUBSCRIBER FullStoreName [, ... ]

                [ReturnServiceAttribute] } [ ... ] }

             { INCLUDE | EXCLUDE }{TABLE | CACHE GROUP | SEQUENCE }                     [Owner.]{TableName | CacheGroupName | SequenceName} [,...]

    ALTER ELEMENT { ElementName | * IN FullStoreName]

            ADD SUBSCRIBER FullStoreName [, ...]  [ReturnServiceAttribute]  |

            ALTER SUBSCRIBER FullStoreName [, ...]   |

                SET [ReturnServiceAttribute]   |

            DROP SUBSCRIBER FullStoreName [, ... ]

    ALTER ELEMENT * IN FullStoreName

             SET { MASTER | PROPAGATOR } FullStoreName

    ALTER ELEMENT ElementName

             {SET NAME NewElementName | SET CheckConflicts}

    ALTER ELEMENT ElementName
             { INCLUDE | EXCLUDE }{TABLE | CACHE GROUP | SEQUENCE}                     [Owner.]{TableName | CacheGroupName | SequenceName} [,...]

    DROP ELEMENT { ElementName | * IN FullStoreName }

CheckConflictsは、TABLE要素をレプリケートした場合にのみ設定できます。構文の詳細は、「CHECK CONFLICTS」を参照してください。

ReturnServiceAttributeの構文は、次のとおりです。

{ RETURN RECEIPT [BY REQUEST] | NO RETURN }

StoreOperationsに指定できる文は、次のとおりです。

    ADD STORE FullStoreName [StoreAttribute [, ... ]]

    ALTER STORE FullStoreName SET StoreAttribute [, ... ]

StoreAttributeの構文は、次のとおりです。

[DISABLE RETURN {SUBSCRIBER | ALL} NumFailures |

RETURN SERVICES {ON | OFF} WHEN [REPLICATION] STOPPED |

DURABLE COMMIT {ON | OFF} |

RESUME RETURN MilliSeconds |

LOCAL COMMIT ACTION {NO ACTION| COMMIT} |

RETURN WAIT TIME Seconds |

COMPRESS TRAFFIC {ON | OFF} |

PORT PortNumber |

TIMEOUT Seconds |

FAILTHRESHOLD Value]

パラメータ

ALTER REPLICATION文には、次のパラメータがあります。

[Owner.]ReplicationSchemeName
レプリケーション・スキームに割り当てられた名前です。
ADD ELEMENT ElementName
新しいELEMENTを既存のレプリケーション・スキームに追加します。ElementNameは、最大30文字の識別子です。DATASTORE要素を使用する場合、ElementNameは、他のDATASTORE要素名に対して最初の20字以内が一意である必要があります。

ELEMENTがDATASTOREの場合、すべての表とキャッシュ・グループがデータ・ストアに含まれます。データ・ストアの一部にSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。

ADD ELEMENT ElementName DATASTORE
{ INCLUDE | EXCLUDE } {TABLE | CACHE GROUP | SEQUENCE} [Owner.]{TableName | CacheGroupName | SequenceName} [,...]
新しいDATASTORE ELEMENTを既存のレプリケーション・スキームに追加します。ElementNameは、最大30文字の識別子です。DATASTORE要素を使用する場合、ElementNameは、他のDATASTORE要素名に対して最初の20字以内が一意である必要があります。
INCLUDEは、指定された表とキャッシュ・グループのみをデータ・ストアに含めます。INCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。
EXCLUDEは、指定された表、キャッシュ・グループおよび順序を除くすべての表とキャッシュ・グループをデータ・ストアに含めます。EXCLUDE句は、オブジェクト型(表、キャッシュ・グループまたは順序)ごとに1つ使用します。[Owner.]{TableName | CacheGroupName | SequenceName} [,...]は、DATASTORE ELEMENTに含めるか、またはDATASTORE ELEMENTから除外する表名、キャッシュ・グループ名または順序名のリストです。オプションで所有者も指定できます。
要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。
ADD SUBSCRIBER FullStoreName
追加のサブスクライバ・データ・ストアを指定します。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。

ALTER ELEMENT * IN FullStoreName

FullStoreNameがMASTERまたはPROPAGATORであるすべての要素を変更します。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。
この構文を使用して一連の要素名に、次の操作を実行できます。
  • サブスクライバの追加、変更、削除
  • 要素セットのMASTERまたはPROPAGATORのステータスの設定

変更するデータ・ストアにSEQUENCE要素が含まれる場合、その要素のRETURNサービスはこの文では変更されません。

ALTER ELEMENT ElementName

サブスクライバが追加または削除される要素の名前です。

ALTER ELEMENT ElementName1 SET NAME ElementName2

ElementName1ElementName2の名前に変更します。TABLE型の要素の名前のみを変更できます。

ALTER ELEMENT ElementName DATASTORE
{ INCLUDE | EXCLUDE }
{TABLE | CACHE GROUP | SEQUENCE } [Owner.]{TableName | CacheGroupName | SequenceName} [,...]

既存のデータ・ストア要素の表やキャッシュ・グループを追加または削除します。
INCLUDEは、指定された表とキャッシュ・グループをデータ・ストアに追加します。各オブジェクト型(表またはキャッシュ・グループ)に対して1つのINCLUDE句を使用します。
EXCLUDEは、指定された表とキャッシュ・グループをデータ・ストアから削除します。各オブジェクト型(表、キャッシュ・グループまたは順序)に対して1つのEXCLUDE句を使用します。
[Owner.]{TableName | CacheGroupName | SequenceName} [,...]は、DATASTORE ELEMENTに対して追加または削除する、表名、キャッシュ・グループ名または順序名のリストです。オプションで所有者も指定できます。
要素が順序の場合、RETURN属性は適用されず、競合チェックはサポートされません。また、循環する順序はエラーを返します。
ALTER SUBSCRIBER FullStoreName
SET RETURN RECEIPT
[BY REQUEST] | NO RETURN
RETURN RECEIPTサービスを有効化、無効化または変更するように、サブスクライバ・データ・ストアを変更します。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。
CheckConflicts
データ・ストア間でTABLE要素を双方向レプリケートするための同時書込みで、レプリケーションの競合をチェックします。DATASTORE型の要素をレプリケートする場合は、競合をチェックできません。「CHECK CONFLICTS」を参照してください。 .
COMPRESS TRAFFIC {ON | OFF}
レプリケートされた通信量を圧縮して、ネットワークの帯域幅の量を削減します。ONは、STOREで定義されたデータ・ストアに対してレプリケートされた通信量をすべて圧縮するように指定します。OFF(デフォルト)は、通信量を圧縮しないように指定します。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた通信量の圧縮に関する項を参照してください。
DISABLE RETURN
{SUBSCRIBER | ALL} NumFailures
NumFailuresで指定されているタイムアウト回数を経過した後、RETURNサービスのブロッキングを無効にするようにRETURNサービス障害ポリシーを設定します。SUBSCRIBERを選択すると、指定されているタイムアウト時間内にレプリケートされた更新の確認に失敗したサブスクライバのみにこのポリシーが適用されます。ALLを選択すると、いずれかのサブスクライバから応答がなかった場合、すべてのサブスクライバにこのポリシーが適用されます。この障害ポリシーは、RETURN RECEIPTまたはRETURN TWOSAFEサービスのいずれかで指定できます。
詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する項を参照してください。
DURABLE COMMIT {ON | OFF}
DISABLE RETURNによりRETURNサービスのブロッキングが無効になった場合、データ・ストアのDurableCommits設定を上書きし、永続コミットを有効にします。

DROP ELEMENT * IN FullStoreName

FullStoreNameがMASTERであるすべての要素のレプリケーションの記述を削除します。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。

DROP ELEMENT ElementName

ElementNameのレプリケーションの記述を削除します。
DROP SUBSCRIBER FullStoreName
指定したサブスクライバ・データ・ストアに更新が送信されないように指定します。この処理は、レプリケーション・スキームの持つサブスクライバが1つのみの場合に失敗します。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。
FAILTHRESHOLD Value
ディスク・ベースのロギングの場合、Valueには、サブスクライバ・データ・ストアのために累積できるログ・ファイルの数を指定します。この値を超えると、サブスクライバはFailedの状態に設定されます。
値0は、制限がないことを示します。この値がデフォルトです。
詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされたデータ・ストアのログの管理に関する項を参照してください。
FullStoreName
次のいずれかとして指定されるデータ・ストアです。
  • SELF
  • データ・ストア・ファイル名の接頭辞
たとえば、データ・ストアのパスがdirectory/subdirectory/data.ds0の場合、dataが使用対象のデータ・ストア名です。
この名前は、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名で、次の書式でホストIDをオプションで指定できます。

DataStoreName [ON Host]

HostにはIPアドレスまたは1つ以上のIPアドレスに割り当てられたリテラルのホスト名を指定できます。ホスト名に特殊文字が含まれている場合、"MyHost-500"のように二重引用符で囲む必要があります。(『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のホストIPアドレスの構成に関する項を参照してください。)

LOCAL COMMIT ACTION
{NO ACTION | COMMIT}
タイムアウトした場合にRETURN TWOSAFEトランザクションで実行されるデフォルトのアクションを指定します。
NO ACTION: タイムアウト時、コミット関数がアプリケーションに戻り、トランザクションはコミット・コールに入ったときと同じ状態のままになります。ただし、アプリケーションがレプリケートされた表を更新できない場合を除きます。アプリケーションはコミットの再発行のみを行うことができます。トランザクションはロールバックされない場合があります。この設定はデフォルトです。
COMMIT: タイムアウト時に、コミット関数がCOMMITをログ・レコードに書き込み、トランザクションをローカルで終了します。同じトランザクション上でこれ以上の処理を行うことはできません。
localActionパラメータを指定してttRepSyncSetプロシージャをコールすることで、特定のトランザクションに対してこの設定を無効にすることができます。
MASTER FullStoreName
指定されたELEMENTがアプリケーションで更新されるデータ・ストアです。MASTERデータ・ストアによって、更新がSUBSCRIBERデータ・ストアに送信されます。FullStoreNameは、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。
NO RETURN
RETURNサービスを使用しないように指定します。この設定がデフォルトです。
RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する項を参照してください。
PORT PortNumber
このデータ・ストアのレプリケーション・エージェントが接続をリスニングするTCP/IPポート番号です。指定しない場合、レプリケーション・エージェントによって自動的にポート番号が割り当てられます。
相互にレプリケートするすべてのTimesTenデータ・ストアで、同じポート番号を使用する必要があります。
PROPAGATOR FullStoreName
レプリケートされた更新を受け取り、他のデータ・ストアに渡すデータ・ストアです。
RESUME RETURN MilliSeconds
DISABLE RETURNによってRETURNサービスのブロッキングが無効になった場合、この属性によって、RETURNサービスのブロッキングを再度有効にするタイミングに関するポリシーを設定します。RETURNサービスのブロッキングは、障害が発生したサブスクライバが、MilliSecondsで指定された時間よりも短い間隔でレプリケートされた更新を確認するとすぐに有効になります。
RETURN RECEIPT [BY REQUEST]
RETURN RECEIPTサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションを受信するまでブロックされます。
RETURN RECEIPTにより、すべてのトランザクションにサービスが適用されます。RETURN RECEIPT BY REQUESTを指定した場合は、ttRepSyncSet()プロシージャを使用して、選択したトランザクションに対してRETURN RECEIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する項を参照してください。
RETURN SERVICES {ON | OFF} WHEN [REPLICATION] STOPPED
レプリケーション・エージェントが停止または一時停止の状態の場合に、RETURNサービスのブロッキングが有効または無効のいずれかになるように、RETURNサービス障害ポリシーを設定します。
OFFは、RETURN RECEIPTサービスを使用する場合のデフォルトです。ONは、RETURN TWOSAFEサービスを使用する場合のデフォルトです。
詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスのタイムアウト・エラーおよびレプリケーション状態の変更の管理に関する項を参照してください。
RETURN TWOSAFE [BY REQUEST]
RETURN TWOSAFEサービスを有効にします。これによって、マスター・データ・ストアに対してトランザクションをコミットするアプリケーションは、すべてのサブスクライバがトランザクションをコミットするまでブロックされます。
RETURN TWOSAFEにより、すべてのトランザクションにサービスが適用されます。RETURN TWOSAFE BY REQUESTを指定した場合は、ttRepSyncSetプロシージャを使用して、選択したトランザクションに対してRETURN RECIPTサービスを有効にできます。RETURNサービスの使用の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のRETURNサービスの使用に関する項を参照してください。
RETURN WAIT TIME Seconds
RETUENサービスの応答を待機する時間(秒)を指定します。デフォルト値は10秒です。値'0'は待機時間がないことを意味します。returnWaitパラメータを設定してアプリケーションからttRepSyncSetプロシージャをコールすることで、このタイムアウト設定を無効にすることができます。

SET { MASTER | PROPAGATOR }
FullStoreName

任意のデータ・ストアを任意の要素のMASTERまたはPROPAGATORに設定します。FullStoreNameは、データ・ストアのファイルの基本名である必要があります。
SUBSCRIBER FullStoreName
MASTERデータ・ストアから更新を受け取るデータ・ストアです。FullStoreName は、DSNの記述のDataStore属性で指定されるデータ・ストア・ファイル名です。
TIMEOUT Seconds
メッセージを再送信する前に、データ・ストアが別のデータ・ストアからの応答を待機する時間です。デフォルト値は120秒です。

説明

マスター要素の所有権をサブスクライバに送信するには、次の手順を実行します。

ALTER REPLICATION ALTER ELEMENT SET MASTERでは、以前のマスターを自動的にはサブスクライバとしてスキームに保持されません。保持する必要がある場合は、ALTER REPLICATION ALTER ELEMENT ADD SUBSCRIBER文を実行します。


注意: ALTER ELEMENT DROP MASTERという文はありません。各レプリケーション要素のMASTERデータ・ストアは1つのみである必要があり、現在指定されたMASTERはレプリケーション・スキームから削除できません。

例5.6

この例では、データ・ストアWest上で更新してデータ・ストアEastにレプリケートする追加の表WestLeadsのレプリケートを設定します。

ALTER REPLICATION R1

   ADD ELEMENT E3 TABLE WestLeads

     MASTER West ON "WestCoast"

     SUBSCRIBER East ON "EastCoast";

例5.7

この例では、表WestLeadsにサブスクライバ(Backup)を追加します。

ALTER REPLICATION R1

   ALTER ELEMENT E3

     ADD SUBSCRIBER Backup ON "BackupServer";

例5.8

この例では、表WestLeadsの要素名をE3からNewElementNameに変更します。

ALTER REPLICATION R1

   ALTER ELEMENT E3

     SET NAME NewElementName;

例5.9

この例では、現在のマスターWestのすべての要素について、NewWestをマスターに指定します。

ALTER REPLICATION R1

   ALTER ELEMENT * IN West

     SET MASTER NewWest;

例5.10

この要素は、Eastのポート番号を変更します。

ALTER REPLICATION R1

   ALTER STORE East ON "EastCoast" SET PORT 22251;

例5.11

この例では、my.tab1表をmy.rep1レプリケーション・スキームのds1データ・ストア要素に追加します。

ALTER REPLICATION my.rep1

  ALTER ELEMENT ds1 DATASTORE

     INCLUDE TABLE my.tab1;

例5.12

この例では、my.cg1キャッシュ・グループをmy.rep1レプリケーション・スキームのds1データ・ストアに追加します。

ALTER REPLICATION my.rep1

  ALTER ELEMENT ds1 DATASTORE

     INCLUDE CACHE GROUP my.cg1;

例5.13

この例では、ds1データ・ストアをmy.rep1レプリケーション・スキームに追加します。データ・ストアには、my.tab2表、my.cg2キャッシュ・グループおよびmy.cg3キャッシュ・グループが含まれています。

ALTER REPLICATION my.rep1

  ADD ELEMENT ds1 DATASTORE

     MASTER rep2

     SUBSCRIBER rep1, rep3

     INCLUDE TABLE my.tab2

     INCLUDE CACHE GROUP my.cg2, my.cg3;

例5.14

この例では、ds2データ・ストアをレプリケーション・スキームに追加しますが、my.tab1表、my.cg0キャッシュ・グループおよびmy.cg1キャッシュ・グループが除外されます。

ALTER REPLICATION my.rep1

  ADD ELEMENT ds2 DATASTORE

     MASTER rep2

     SUBSCRIBER rep1

     EXCLUDE TABLE my.tab1

     EXCLUDE CACHE GROUP my.cg0, my.cg1;

データ・ストアから表を削除する場合は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』のレプリケートされた表の変更に関する項を参照してください。

関連項目

ALTER ACTIVE STANDBY PAIR
CREATE ACTIVE STANDBY PAIR
CREATE REPLICATION
DROP ACTIVE STANDBY PAIR
DROP REPLICATION